home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 4
/
Light ROM 4 - Disc 1.iso
/
text
/
maillist
/
1995
/
0295.doc
/
000090_owner-lightwave-l _Tue Feb 7 08:41:01 1995.msg
< prev
next >
Wrap
Internet Message Format
|
1995-03-19
|
5KB
Return-Path: <owner-lightwave-l>
Received: by netcom18.netcom.com (8.6.9/Netcom)
id HAA08898; Tue, 7 Feb 1995 07:38:12 -0800
Received: from goalkeeper.d2.com by mail.netcom.com (8.6.9/Netcom)
id UAA01209; Mon, 6 Feb 1995 20:19:28 -0800
Received: from d2.com by goalkeeper.d2.com via UUCP (931110.SGI/(930416.SGI)1.0-D2.COM-OUTERELAY)
for lightwave-l@netcom.com id AA24460; Mon, 6 Feb 95 20:18:08 -0800
Received: from arcadia.d2.com by omaha.d2.com via SMTP (920330.SGI/(921111.SGI)1.1-D2.COM-RELAY)
for omaha!goalkeeper!capitol!davies@uunet.uu.net id AA18642; Mon, 6 Feb 95 20:53:45 -0800
Received: by arcadia.d2.com (931110.SGI/(921111.SGI)1.1-D2.COM)
for @omaha.d2.com:stu@kerner.com id AA23976; Mon, 6 Feb 95 20:53:44 -0800
From: pockets@d2.com (Sean Cunningham)
Message-Id: <9502070453.AA23976@arcadia.d2.com>
Subject: Re: Talking Objects
To: omaha!goalkeeper!capitol!davies@uunet.uu.net
Date: Mon, 6 Feb 1995 20:53:42 -0800 (PST)
Cc: lightwave-l@netcom.com, stu@kerner.com
In-Reply-To: <9502061646.AA15832@ capitol.com> from "Paul Davies" at Feb 6, 95 11:46:50 am
X-Mailer: ELM [version 2.4 PL23beta2]
Content-Type: text
Content-Length: 3981
Sender: owner-lightwave-l@netcom.com
Precedence: bulk
# <snip>
# > How do you go about morphing the different heads
# > in and out in time to the soundtrack?
# <snip>
Morphing, or object interpolation, is a rather limited technique for
this application...it's a rather limited technique, period.
It would be great if LW incorporated a technique more like "displacements"
where multiple object targets may be mixed freely. I believe the technique
was developed by Matt Elson on Symbolics equipment.
The problem is, straight object interpolation is only good for going in a
linear progression from one target to another. You try and mix more than two
targets and all you get is a goofy looking average of all shapes. For
example, say you had the head of this character, you wanted him to yawn
and during the course of the yawn you want him to squint his eyes and then
open his right eye then his left eye.
With straight object interpolation you must create unique shapes for each
stage of the action:
o key (mouth closed, eyes droopy but open)
o breakdown (mouth opening, eyes not quite closed)
o key (mouth wide, eyes squinting closed)
o breakdown (mouth slightly smaller, right eye opening)
o breakdown (mouth smaller yet, right eye almost wide,
left eye opening)
o breakdown (mouth even smaller, both eyes open)
o key (mouth closed, both eyes open)
...all that work, and that was only for one small bit of action. And you will
almost never be able to use these shapes again, unless your character has to
yawn in exactly the same manner.
Now, with displacements you can create a library of reuseable shapes that can
be mixed together to create all variations of unique shapes. The way it works
is you start with a neutral shape. All targets are made from this shape.
To do the above action we would create the following target shapes, in addition
to having our neutral shape:
o mouth open wide A
o right eye closed B
o left eye closed C
...for each of the above targets you don't modify _ANY_ other region of the
face. Now here's how we animate the same action:
A B C
~~~~~~~~~~~~~~~~
0.0 0.7 0.7 o key (mouth closed, eyes droopy but open)
0.20 0.9 0.9 o breakdown (mouth opening, eyes not quite closed)
1.1 1.0 1.0 o key (mouth wide, eyes squinting closed)
0.95 0.8 1.0 o breakdown (mouth slightly smaller, right eye opening)
0.75 0.3 0.8 o breakdown (mouth smaller yet, right eye almost wide,
left eye opening)
0.5 0.0 0.0 o breakdown (mouth even smaller, both eyes open)
0.0 0.0 0.0 o key (mouth closed, both eyes open)
...the beauty is, by mixing varying ammounts of each target you create new
expressions, and you can just keep going and going. You could mix in a little
"lip-ripple" target for the exhale or add a blink at the end. Whatever.
Also notice that I used more than 1.0 or 100% of one of my shapes. It should
also be possible to "push" you shapes slightly further than the target model
indicates. Points just continue traveling in a linear direction defined by
the relationship between its position on the neutral shape and its position on
the target shape. Pushed too far and you'll run into problems, but you can
achieve some pretty wacky shapes this way.
Back to dialog. You would create target shapes where the mouth of the
character formed each phoneme. Once you get the timing of the dialog down you
can just layer and layer facial animation on top of this...blinks, grins,
you name it. This just isn't possible with plain-ole' object interpolation.
So it would be great if this feature could be incorporated into LW5.0...perhaps
it could be a plug-in?
--
Digital Domain: sean.cunningham@d2.com | "...the whole idea of politics
N e t c o m: pockets@netcom.com | is to achieve power without
R e a l World: Sean C. Cunningham | possessing merit." -P.J. O'Rourke